package dwz.business.lotto;

import java.util.List;

import dwz.common.util.web.PageInfo;

public interface BaseInterface<T,K>{
	/**
	 * 根据实体的id来更新实体
	 * @param entity
	 * @return
	 */
	public int updateByPrimaryKeySelective(T entity);
	
	
	/**
	 * 根据限制条件来删除实体
	 * @param example
	 * @return
	 */
	int deleteByExample(K example);
	
	
	/**
	 * 根据来删除实体
	 * @param id
	 * @return
	 */
	 int deleteByPrimaryKey(Integer id);
	 
	 /**
	  * 插入实体
	  * @param record
	  * @return
	  */
	 int insertSelective(T record);
	 
	 
	 
	 /**
	  * 根据限制条件example来获取总数
	  * @param example
	  * @return
	  */
	 List<T> selectByExample(K example);
	 
	 /**
	  * 根据限制条件example来获取总数
	  * 带分页
	  * @param example
	  * @return
	  */
	 List<T> selectByExampleWithPage(K example,PageInfo pageInfo);
	 
	 
	 /**
	  * 获取所有的记录 带分页
	  * 带分页
	  * @param example
	  * @return
	  */
	 List<T> selectAllWithPage(T entity,PageInfo pageInfo);
	 /**
	  * 根据主键获取其实体
	  * @param id
	  * @return
	  */
	 T selectByPrimaryKey(Integer id);
	 
	 /**
	  * 根据限制条件来计算总数
	  * @param example
	  * @return
	  */
	 int countByExample(K example);
	 
	 
	 T selectEntityByExample(K example);
}
